Certain methods for providing search candidates have been developed and applied extensively in various fields, such as Chinese text input, search engine, artificial intelligence (AI) and machine translation. Taking the Chinese text input as an example, the pinyin input method is a popular type of Chinese text input method nowadays. However, the existence of polyphone characters and homophone characters in Chinese leads to text input errors when using the pinyin input methods. The term “polyphone character” refers to a Chinese character having multiple pinyins, and the term “homophone characters” refers to two or more Chinese characters having a common pinyin. For example, the same pinyin string “ging hua da xue” corresponds to different Chinese characters “” or “”, pinyin string “you hui Juan” corresponds to “” or “”, and the user has to select the desired Chinese characters out of all possible combinations. Moreover, since Chinese has so many dialects other than Mandarin, one Chinese character may correspond to different pronunciations. Accordingly, it is common that a user mis-pronounces a Chinese character and thus inputs a wrong pinyin string. For example, when a user tries to get a string of Chinese characters “”, he or she may input the wrong pinyin string “chuanji” instead of “zhuanji”, which leads to a wrong Chinese character string such as “”.
With the increasing requirement on the accuracy and speed of text input methods, the current candidate searching methods need further improvements. For example, the current Chinese text input methods cannot efficiently process and rectify the Chinese input errors caused by the existence of polyphone characters, homophone characters, or wrongly written or mispronounced characters. Thus, there is a need for a method capable of rectifying such input errors in an efficient manner.